package com.ruoyi.system.domain;

import java.util.Date;
import java.util.Set;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

/**
 * 护理人员请假对象 nurse_leave
 * 
 * @author ruoyi
 */
@Data
public class NurseLeave extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 请假ID */
    private Long leaveId;

    /** 护理人员ID */
    @Excel(name = "护理人员ID")
    private Long nurseId;

    /** 护理人员姓名 */
    @Excel(name = "护理人员姓名")
    private String nurseName;

    /** 请假类型（1病假 2事假 3年假 4其他） */
    @Excel(name = "请假类型", readConverterExp = "1=病假,2=事假,3=年假,4=其他")
    private String leaveType;

    /** 请假开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "请假开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 请假结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "请假结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 请假原因 */
    @Excel(name = "请假原因")
    private String reason;

    /** 审核状态（0待审核 1已通过 2已拒绝） */
    @Excel(name = "审核状态", readConverterExp = "0=待审核,1=已通过,2=已拒绝")
    private String status;

    /** 审核人 */
    private String auditBy;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date auditTime;

    /** 审核备注 */
    private String auditRemark;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    private Set<Long> nurseIds;
} 